﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:convert="clr-namespace:Black.Minecraft.Editor.Converters"
                    xmlns:dm="clr-namespace:Black.Minecraft.Editor.ViewModels.DataModels"
                    xmlns:dv="clr-namespace:Black.Minecraft.Editor.Views.DataViews"
                    xmlns:v="clr-namespace:Black.Minecraft.Editor.Views"
                    xmlns:vm="clr-namespace:Black.Minecraft.Editor.ViewModels">

    <!--  Converters  -->

    <convert:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />

    <!--  DataViews  -->

    <DataTemplate DataType="{x:Type dm:InventoryDataModel}">
        <dv:InventoryDataView />
    </DataTemplate>

    <DataTemplate DataType="{x:Type dm:InventoryItemDataModel}">
        <dv:InventoryItemDataView DropCommand="{Binding Source={x:Static vm:MainViewModel.Instance},
                                                        Path=Inventory.DropCommand}"
                                  SelectionCommand="{Binding Source={x:Static vm:MainViewModel.Instance},
                                                             Path=Inventory.SelectionCommand}"
                                  SelectionCommandParameter="{Binding}"
                                  Slot="{Binding Slot}" />
    </DataTemplate>

    <DataTemplate DataType="{x:Type dm:ItemDataModel}">
        <dv:ItemDataView />
    </DataTemplate>

    <DataTemplate DataType="{x:Type dm:GameInformationViewModel}">
        <dv:GameInformationDataView />
    </DataTemplate>

    <DataTemplate DataType="{x:Type dm:PlayerInformationDataModel}">
        <dv:PlayerInformationDataView />
    </DataTemplate>

    <DataTemplate DataType="{x:Type dm:EnchantDataModel}">
        <v:EnchantView />
    </DataTemplate>

    <!--  Views  -->

    <DataTemplate DataType="{x:Type vm:AboutViewModel}">
        <v:AboutView />
    </DataTemplate>

    <DataTemplate DataType="{x:Type vm:OptionsViewModel}">
        <v:OptionsView />
    </DataTemplate>

</ResourceDictionary>
